#ifndef MESSAGE_RECEIVER_H
#define MESSAGE_RECEIVER_H

#include <memory>
#include <src/abstract_observer.h>
#include <src/message_buffer.h>

class message_receiver : public abstract_observer
{
public:
    typedef std::shared_ptr<message_buffer> buffer_handle;

private:
    buffer_handle buffer;

public:
    message_receiver(buffer_handle _buffer = std::make_shared<message_buffer>());

    void receive(message::msg_handle msg);
};

#endif // MESSAGE_RECEIVER_H
